package demo1.facade;

/**
 * @ClassName Client
 * @Description TODO
 * @Author 耀酱
 * @Date 2023/6/4 15:23
 * @Version 1.0
 */
//下面是一个示例，我们假设你正在编写一个视频编辑器，该编辑器包括许多复杂的功能，
// 例如剪辑、裁剪、调整音频等等。为了方便用户使用编辑器，我们可以使用门面模式来封装视频编辑器的复杂性，提供一个更加简单和易于使用的接口。
public class Client {
    public static void main(String[] args) {

        VideoEditor videoEditor = new VideoEditor();
        VideoEditorFacade videoEditorFacade = new VideoEditorFacade(videoEditor);
        videoEditorFacade.trimVideo(10,20);
        videoEditorFacade.muteAudio();


    }
}
class VideoEditor {
    // 剪辑
    public void clipVideo() {
        System.out.println("Clipping video...");
    }
    // 裁剪
    public void cropVideo() {
        System.out.println("Cropping video...");
    }
    // 调整音频
    public void adjustAudio() {
        System.out.println("Adjusting audio...");
    }
}

// VideoEditorFacade.java
 class VideoEditorFacade {
    private final VideoEditor videoEditor;

    public VideoEditorFacade(VideoEditor videoEditor) {
        this.videoEditor = videoEditor;
    }

    public void trimVideo(int start, int end) {
        videoEditor.clipVideo();
        videoEditor.cropVideo();
    }

    public void muteAudio() {
        videoEditor.adjustAudio();
    }

    // 其他操作
}